In my spare time, I enjoy prototyping gameplay ideas that come to mind and working on personal projects. Here are a few of them:
This is one of my latest personal projects. I have always liked Octopath Traveler's
potion
system and Magicka's dynamic spell creation.
Both of them rely on mixing elements together to create a procedural result.
I started by making a top-down controller that could use this type of system. I wrote a full
documentation on potion effects and the status attributes they apply. It does not really fit in a
short paragraph here, but I made a port of the markdown documentation to this website in case you are curious.
I created the architecture for the potions and made a tool that visualizes the effect a potion would
have. I then made an entity system with solid callbacks for status effects. The goal was to make it
as modular and designer-friendly as possible without the need for a separate tool. Below is an
example of the callback that triggers when the "Frozen" status effect is applied to a target that is
already "Burning".
After that, I implemented the first potion type from the documentation: bombs. Each bomb uses two
ingredients and can apply status effects. I eventually stopped working on this project because the
scope
was getting too large, but the project currently has a working base for all the systems mentioned
above.
In the video below, I showcase a few potions and explain how they interact with each other.
When I was a kid, I loved the Pokémon Mystery Dungeon series. I found
this video
explaining the algorithm behind their dungeon generation, so I decided to implement it in Unity.
The result is a fairly modular system that can create very different dungeon layouts, from simple
rooms
to more winding structures.
Overall, I think it stays quite faithful to the original, and I am happy with the result.
In the example below, the green cells are rooms, the yellow cells are walls, black cells are map
borders, and the cyan cells are corridors and dead ends.
Back in 2021, I played Scribblenauts and really liked its main mechanic where you can spawn objects by typing their names. I decided to make a small Unity prototype of this feature with a few simple objects and adjectives.
I made this when I was learning Unity's ScriptableObjects, so the project ended up being quite monolithic. I would approach it very differently today. For example, I did not create any proper attribute system, which made conflicts hard to detect since the adjective checks were hard coded. If I were to redo this prototype, I would probably build a tool similar to the one I describe in my Ex Silentio project page to link concepts together more cleanly.